$(function () {
  //使用表单校验插件
  $('.login-form').bootstrapValidator({
    //1. 指定不校验的类型，默认为[':disabled', ':hidden', ':not(:visible)'],可以不设置
    excluded: [':disabled', ':hidden', ':not(:visible)'],

    //2. 指定校验时的图标显示，默认是bootstrap风格
    feedbackIcons: {
      valid: 'glyphicon glyphicon-hand-up',
      invalid: 'glyphicon glyphicon-thumbs-down',
      validating: 'glyphicon glyphicon-refresh'
    },

    //3. 指定校验字段
    fields: {
      //校验用户名，对应name表单的name属性
      username: {
        validators: {
          //不能为空
          notEmpty: {
            message: '用户名不能为空'
          },
          //长度校验
          stringLength: {
            min: 2,
            max: 6,
            message: '用户名长度必须在2到6之间'
          },
          //提示信息
          callback: {
            message: '用户名不存在'
          },
          //正则校验
          // regexp: {
          //   regexp: /^[a-zA-Z0-9_\.]+$/,
          //   message: '用户名由数字字母下划线和.组成'
          // }
        }
      },
      password: {
        //不能为空
        validators: {
          notEmpty: {
            message: '密码不能为空'
          },
          //长度校验
          stringLength: {
            min: 6,
            max: 12,
            message: '密码长度必须在6到12之间'
          },
          //提示信息
          callback: {
            message: '密码错误'
          },
          //正则校验
          // regexp: {
          //   regexp: /^[a-zA-Z0-9_\.]+$/,
          //   message: '用户名由数字字母下划线和.组成'
          // }
        }
      }
    }
  });

  //重置表单校验样式
  //点击重置按钮 通过插件实例调用重置表单的方法
  $('.btn-reset').click(function () {
    var validator = $(".login-form").data('bootstrapValidator');
    validator.resetForm();
  });

  //点击登录按钮 校验表单数据是否合理 合理获取数据发送后台
  //后台根据传递信息进行校验判断 返回结果
  //前端接收结果:成功-->跳转到首页  失败:重新登录提示失败原因

  //插件提供了个事件 success.form.bv事件  会在用户点击提交按钮且数据通过时触发
  $(".login-form").on('success.form.bv', function (e) {
    //阻止提交按钮默认效果
    e.preventDefault();
    var str = $('.login-form').serialize();
    //使用ajax提交逻辑 发送请求
    $.ajax({
      type: 'post',
      url: '/employee/employeeLogin',
      data: str,
      datatype: 'json',
      success: function (res) {
        console.log(res);
        if (res.success) {
          //登录成功 跳转到首页
          location.href = './index.html';
        }
        if (res.error == 1000) {
          //用户名错误 将用户名校验状态由成功改为失败
          //表单校验插件提供一个方法； updateStatus(字段name属性， 状态， 提示信息(必须是配置过的))
          $(".login-form").data('bootstrapValidator').updateStatus('username', 'INVALID', 'callback')
        }
        if (res.error == 1001) {
          //密码错误 将密码校验状态由成功改为失败
          $(".login-form").data('bootstrapValidator').updateStatus('password', 'INVALID', 'callback')
        }
      }
    })
  });

  // 进度条功能提示功能
  //使用NProgress 进度条插件 NProgress.start()  开始动画 NProgress.done()   结束动画
  // 用到jquery 提供ajax 全局事件：  可以监听页面中所有ajax请求 
  // 1. ajaxStart()  在开始一个ajax请求时触发
  // 2. ajaxStop() 在ajax请求结束时触发
  // 样式写在common.js中
  
})